﻿<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:c="clr-namespace:VS.Infrastructure.Controls;assembly=VS.Infrastructure"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="1800" d:DesignWidth="600">

    <UserControl.Resources>
        <!--<Style TargetType="RichTextBox">
            <Style.Setters>
                <Setter Property="IsHitTestVisible" Value="False"/>
                <Setter Property="BorderThickness" Value="0"/>
            </Style.Setters>
        </Style>-->
    </UserControl.Resources>
    
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <RichTextBox Grid.ColumnSpan="2" FontSize="12">
            <Paragraph TextAlignment="Center" FontSize="32" FontWeight="Bold">
                Quelques réalisations
            </Paragraph>
        </RichTextBox>

        <Grid Grid.Row="1" >
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition Width="1*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>

            <c:TagCloud Grid.Column="0" Grid.Row="1" Margin="4" Cursor="Arrow" VerticalAlignment="Center" Width="150" Height="150">
                <c:TagCloudItem>Silverlight</c:TagCloudItem>
                <c:TagCloudItem>WPF</c:TagCloudItem>
                <c:TagCloudItem>RIA</c:TagCloudItem>
                <c:TagCloudItem>WP7</c:TagCloudItem>
                <c:TagCloudItem>Scrum</c:TagCloudItem>
            </c:TagCloud>

            <RichTextBox Grid.Column="1" Grid.Row="0" FontSize="16" FontWeight="Bold" Foreground="#FF777777">
                <Paragraph>
                    Nuage de tag 3D
                </Paragraph>
            </RichTextBox>

            <StackPanel Grid.Column="1" Grid.Row="1">
                <RichTextBox   FontSize="12">
                    <Paragraph>
                        Les nuages de tag sont de plus en plus populaires et sont devenus une forme de représentation
                    des données originale. Un nuage de tag est un ensemble de libellés dont la taille varie
                    en fonction de la popularité plus ou moins importante pour le mot clef qu'ils représentent.
                    Les nuages de tag peuvent être en deux ou trois dimensions.
                    </Paragraph>
                    <Paragraph>
                        Les nuages de tag en deux dimensions sont la plupart du temps utilisés sur les sites web
                    car ils sont facilement implémentés en HTML standard et un peu de code-behind. Les nuages
                    de tag en 3D sont plus difficiles à programmer mais sont plus compacts, interactifs et
                    amusants à utiliser.
                    </Paragraph>
                    <Paragraph>
                        Avec ce composant vous pouvez donc afficher des tags dans une vue interactive en 3D, une 
                    sphère à laquelle vous pouvez appliquer une rotation avec la souris.
                    </Paragraph>
                    <Paragraph>
                        <LineBreak />
                        <Run Text="Ce contrôle Silverlight s'appuie sur la librairie "/>
                        <Italic>aXelerate Silverlight 3D</Italic>
                        <Run Text=" et "/>
                        les sources sont en téléchargement libre. Dans tous les cas vous pouvez bénéficier
                    de nos services pour faire évoluer et adapter ce nuage de tag 3D à vos besoins.
                        <LineBreak />
                    </Paragraph>
                </RichTextBox>

                <RichTextBox IsReadOnly="True" IsHitTestVisible="True" FontSize="12">
                    <Paragraph>
                        <Hyperlink TargetName="_blank" NavigateUri="http://axeleratesl3d.codeplex.com">aXelerate Silverlight 3D</Hyperlink>
                    </Paragraph>
                    <Paragraph>
                        <Hyperlink Command="{Binding ViewModel.DownloadFileCommand}" CommandParameter="TagCloud.zip">Sources TagCloud (SL4)</Hyperlink>                        
                    </Paragraph>
                    <Paragraph>
                        <LineBreak/>
                    </Paragraph>
                </RichTextBox>
            </StackPanel>

            <Rectangle Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Height="1" IsHitTestVisible="False" Cursor="Hand" StrokeThickness="0">
                <Rectangle.Fill>
                    <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
                        <GradientStop Color="White" Offset="0" />
                        <GradientStop Color="White" Offset="1" />
                        <GradientStop Color="#FF757575" Offset="0.529" />
                    </LinearGradientBrush>
                </Rectangle.Fill>
            </Rectangle>
            <Image Grid.Column="0" Grid.Row="4" Margin="4" IsHitTestVisible="False" VerticalAlignment="Center" Width="150" Height="150" Tag="Arbre hyperbolique" Source="/VS.MainModule;component/Images/hypertree.jpg" />
            <RichTextBox Grid.Column="1" Grid.Row="3" FontWeight="Bold" FontSize="16" Foreground="#FF777777">
                <Paragraph>
                    Arbre hyperbolique
                </Paragraph>
            </RichTextBox>
            <RichTextBox Grid.Column="1" Grid.Row="4" FontSize="12">
                <Paragraph>
                    Un arbre hyperbolique permet de représenter un grand nombre de données hiérarchiques en permettant d'allouer
                    le plus grand espace possible à une portion précise de la hiérarchie sans perdre de vue le contexte (c'est à 
                    dire le reste de la hiérarchie). Pour ce faire, l'arbre est plaqué sur une demi-sphère (espace hyperbolique) 
                    ; lorsqu'on change le focus sur une autre portion de la hiérarchie, l'arbre est déplacé sur le plan hyperbolique 
                    jusqu'à ce que la nouvelle portion de la hiérarchie soit présenté au centre de la vue. (On parle aussi de vue en "fish-eye")
                </Paragraph>
                <Paragraph>
                    Ce composant développé en WPF uniquement a été utilisé par exemple pour un de nos client dans le cadre de la 
                    visualisation d'une base de données SQL Server, chaque branche de l'arbre représentant un 
                    lien de composition entre les tables.
                </Paragraph>
                <Paragraph>
                    La structure hiérarchique est analysée en mémoire dans un modèle permettant des recherches ultérieures.
                </Paragraph>
                <Paragraph>
                    WPF laisse bien entendu une totale liberté dans la représentation graphique et le comportement de noeud.
                </Paragraph>
                <Paragraph>
                    <LineBreak />
                    N'hésitez pas à faire appel à nos services pour réaliser une représentation hiérarchique hyperbolique
                    de vos données adaptée à vos besoins.
                </Paragraph>
            </RichTextBox>
            <RichTextBox Grid.Column="1" Grid.Row="5" FontSize="12" IsReadOnly="True" IsHitTestVisible="True">
                <Paragraph>
                    <LineBreak/>
                    <Hyperlink Command="{Binding ViewModel.DownloadFileCommand}" CommandParameter="htdemo.exe">Hypertree 11.2 demo (WPF)</Hyperlink>
                </Paragraph>
            </RichTextBox>
        </Grid>

    </Grid>
</UserControl>
